//
// Created by 王乐 on 2022/2/11.
//

#include "LeCubicBoxGameObject.h"

#include "LeCubicBoxRenderer.h"
#include "LeCubicBoxBehaviour.h"

LeCubicBoxGameObject::LeCubicBoxGameObject()
{}

LeCubicBoxGameObject::~LeCubicBoxGameObject()
{

}

void LeCubicBoxGameObject::Initialize()
{
    strName = "MyCubicBox";
    m_bSelectable = true;

    // Transform
    // ---------
    m_Transform.setPosition(0.0f, 0.0f, 0.0f);
    m_Transform.setRotation(0, 0, 0);
    m_Transform.setScale(0.3, 0.3, 0.3);

    // RigidBody
    // ---------

    // Behaviour
    // ---------
    LeCubicBoxBehaviour* pBehaviour = new LeCubicBoxBehaviour();

    // Renderer
    // --------
    LeCubicBoxRenderer* pRenderer = new LeCubicBoxRenderer();
    pRenderer->initRenderer(this, "/Users/wangle/CLionProjects/Leste/res/shader/cubicbox.vs", "/Users/wangle/CLionProjects/Leste/res/shader/cubicbox.fs");

    // Initialize Components
    initComponents(pRenderer, nullptr, pBehaviour, nullptr);
}
